2 SW=5:BK$="[164]" 3 POKE53280,.:POKE53281,.:PRINT"[147]":POKE650,128 4 ES$=" " 5 DIMVT$(24),HT$(40),G$(30) 6 VT$(1)=CHR$(19):FORI=2TO24:VT$(I)=VT$(I-1)+CHR$(17):NEXT 7 HT$(1)=CHR$(145)+CHR$(13):FORI=2TO40:HT$(I)=HT$(I-1)+CHR$(29):NEXT 10 REM================== 11 REM= JEFF TRUELSEN 20 REM= 700 WARREN ROAD 30 REM= APARTMENT 20-2E 40 REM= ITHACA, NY 14850 45 REM================== 50 GOSUB10000: REM INIT 1000 REMMAIN MENU 1010 PRINT"[147]"VT$(3)HT$(12); 1015 PRINT"[204]OADSTAR [208]RESENTS":PRINTVT$(6);:GOSUB12500 1020 PRINTVT$(12)HT$(19)"[158]BY"VT$(14)HT$(12); 1025 PRINT"[129][202]EFF [211]. [212]RUELSEN"VT$(16)HT$(7); 1027 PRINT "([153][195]) 1986 [199]UANOZAP [211]OFTWARE"VT$(18)HT$(8); 1028 PRINT"[206]OT IN THE [208]UBLIC [196]OMAIN" 1030 REM WINDOW 1040 PRINTVT$(21)"[154]>-->-->[159][208]RESS ANY KEY TO [195]ONTINUE[154]<--<--<" 1042 FORPA=1TO70:NEXTPA:GETKB$:IFKB$=""THENR=RND(1) 1045 R=RND(1):PRINTVT$(21);:PRINT"->-->--"; 1047 PRINTHT$(33);:PRINT"--<--<-":FORPA=1TO70: NEXTPA 1050 R=RND(1):PRINTVT$(21);:PRINT"-->-->-"; 1053 PRINTHT$(33);:PRINT"-<--<--":FORPA=1TO70: NEXTPA:IFKB$=""THENGOTO1040 1060 FORI=1TO7:PRINT:FORPA=1TO60:NEXTPA: NEXTI:FORI=5TO20:PRINTVT$(I)ES$:NEXT 1064 PRINTVT$(7);:PRINTHT$(1); 1070 PRINT"[196]O YOU NEED INSTRUCTIONS ([159][217][154]/[159][206][154])? "; 1075 POKE198,0:WAIT198,1:GETYN$:IFYN$="Y"THENGOSUB12000:GOTO1090 1080 IFYN$<>"N"THENPRINTHT$(1);:GOTO1070 1085 PRINTHT$(1)" " 1090 PRINTVT$(7);:PRINTHT$(1); 1100 PRINTVT$(9);:PRINTHT$(4);:PRINT"[195]HOOSE A NUMBER BETWEEN [153]1 AND [153]5." 1105 PRINT:PRINT"[154][212]HE NUMBERS IN PARENTHESES HAVE ALREADY": PRINT 1107 PRINTHT$(7);:PRINT"BEEN USED IN THIS SESSION." 1110 PRINTVT$(16);:FORI=1TO5:PRINTHT$(6*I)I; 1113 I$=RIGHT$(STR$(I),1) 1115 IFU(I)THENPRINTHT$(6*I);:PRINT"[154]([159]"I$"[154])"; 1120 NEXT 1130 PRINTVT$(20)HT$(1)"[154]OR PRESS"; 1132 PRINTHT$(18)"[176][192][174]":PRINT" [154][[158][209][154]] TO"; 1134 PRINTHT$(18)"[221][158] [146][221]":PRINT" [154][209]UIT"; 1136 PRINTHT$(18)"[173][192][189]":PRINTVT$(21)HT$(19); 1138 POKE198,0:WAIT198,1:GETYN$ 1139 IFYN$>" "ANDYN$"5"THEN1130 1160 NM$="STORY"+YN$:U(VAL(YN$))=1 2000 REMGET STORY 2005 FORPA=1TO200:NEXTPA:PRINTVT$(20);: PRINTHT$(1); 2010 PRINTVT$(23)HT$(6)"[129][204]OADING STORY ([158]20 SECONDS[129]) " 2015 TI$="000000" 2020 OPEN8,8,8,NM$+".TEXT" 2030 REM 2040 INPUT#8,TT$ 2050 INPUT#8,BL 2060 FOR I = 1 TO BL 2070 INPUT#8,C$(I): NEXT 2080 INPUT#8,MA 2090 FORI=1TOMA:A$(I)="" 2100 GET#8,X$ 2104 IFX$<>CHR$(13)THENA$(I)=A$(I)+X$:GOTO2100 2105 NEXT 2110 CLOSE8 2115 PRINTVT$(23);:PRINTHT$(6);:PRINT " [158][211]TORY LOADED " 2120 PRINTVT$(24);:PRINTHT$(3); 2123 PRINT" [205]ESSING WITH DETAILS (15 SECONDS) " 2124 TI$="000000" 2125 FORI=1TOMA:T$="":FORJ=1TOLEN(A$(I)):M$=MID$(A$(I),J,1):IFM$="["THENM$="," 2130 T$=T$+M$:NEXT:A$(I)=T$:NEXT:FORI=1TOMA 2135 IFRIGHT$(A$(I),1)="="THENA$(I)=LEFT$(A$(I),LEN(A$(I))-1)+" " 2140 NEXT 2150 FH=BL:FL=1:FORI=1TOBL:IFVAL(C$(I))>100THENF(FH)=I:FH=FH-1:GOTO2170 2160 F(FL) = I:FL = FL + 1 2170 NEXT:DEFFNR(X)=INT(RND(1)*FH)+1:FORI=1TOBL:F1=FNR(I):F2=FNR(I) 2175 T=F(F1):F(F1) = F(F2):F(F2) = T: NEXT 2180 REM FILL THE BLANKS 2185 PRINT"[147]" 2190 PRINTHT$(9)"[158] [198]ILLING IN THE BLANKS " 2200 FORI=1TOBL:C=VAL(C$(F(I))):IFC>100THENC$(F(I))=C$(C-100):GOTO2240 2210 PRINTVT$(5)HT$(12)"[154][194]LANK #[159]"I" [154]OF [159]"FH" " 2215 LL=LEN(W$(C)):PRINTVT$(7);:PRINTHT$(19-(LL /2));:FORJ=1TOLL+2 2216 PRINT"[155]*";:NEXT:PRINTVT$(8);:PRINTHT$(19-(LL/2));:PRINT"[155]*"W$(C)"[155]*" 2217 PRINTVT$(9);:PRINTHT$(19-(LL/2));:FORJ=1TOLL+2:PRINT"[155]*";:NEXT 2218 PRINTVT$(15)HT$(1)"[129][196]EFINITION:[158]":PRINTD$(C) 2219 PRINTVT$(20)"[129][197]XAMPLES:[158]":PRINTE$(C):PRINTVT$(11)"--> [155]"BK$; 2220 MO=158:NC=30:GOSUB60500:C$(F(I))=A$ 2225 FORXX=5TO23:PRINTVT$(XX)ES$:NEXT:GOTO2240 2230 C$(F(I))=C$(F(I))+CHR$(PEEK(J)-128):NEXT 2240 NEXT 3000 REM DISPLAY 3001 SW=4 3002 POKE198,0 3005 PRINT"[147]" 3010 PRINTVT$(2)HT$(19-(LEN(TT$)/2));:PRINT" "TT$" [150]" 3020 PRINTVT$(4);:PRINTHT$(1);:NL=0:R$="":S$="":T$="":B=1:H=1:A=0 3030 A=A+1:IFA>(MA)THEN3100 3040 R$=R$+A$(A) 3050 L=LEN(R$) 3060 IFLEFT$(R$,1)="]"THENR$=" "+ RIGHT$(R$,L-1):RT=1 3065 GETX$:IFX$<>""THENGOTO3160 3070 IF LEFT$ (R$,1) = "*" THEN T$ = T$ + C$(B):B = B + 1: GOTO 3120 3080 IFLEFT$(R$,1)<>" "THENWS=ABS(LEN(T$)> 0):S$(WS)=S$(WS)+LEFT$(R$,1):GOTO3120 3090 S=LEN(S$(0))+LEN(S$(1))+LEN(T$):IFS+H>39THENPRINT:H=1:NL=NL+1 3095 IFS+H>39THENIFNL>10THENGOSUB4000:NL=0:PRINTVT$(4); 3100 PRINTS$(0);:PRINT""T$"[146]";:PRINTS$(1)" "; 3105 H=H+S+1:S$(0)="":S$(1)="":T$="":IFA>(MA)THEN3160 3110 IFRT<>0THENRT=0:PRINT"":H=1:NL=NL+1:IFNL>10THENGOSUB4000:NL=1:PRINTVT$(4); 3120 L=L-1 3130 IFL=0THENR$="":GOTO 3030 3140 R$ = RIGHT$ (R$,L) 3150 GOTO 3060 3160 FORPA=1TO200:NEXTPA:PRINT:FORPA=1TO200:NEXTPA:PRINT 3165 PRINTVT$(23);:PRINTHT$(13);:PRINT"-- [212]HE [197]ND --" 3167 GOSUB 4000:PRINTCHR$(147); 3170 PRINTCHR$(147);:PRINTVT$(11);:PRINT"[154][215]ANT TO RE-READ YOUR STORY? ([217]/[206]) "; 3175 POKE198,0:WAIT198,1:GETYN$:IFYN$="Y"THEN3000 3180 IFYN$<>"N"THEN3170 3190 PRINTCHR$(147);:PRINTVT$(11);:PRINT"[215]ANT TO FILL IN ANOTHER STORY? ([217]/[206]) "; 3195 POKE198,0:WAIT198,1:GETYN$:IFYN$="Y"THENPRINTCHR$(147);:GOSUB12500 3198 IFYN$="Y"THENPRINTVT$(7);:PRINTHT$(1);:GOTO1070 3200 IF YN$ <>"N"THEN 3190 3210 GOTO 15000 4000 REM BOTTOM OF SCREEN 4010 REM 4020 REM 4030 PRINTVT$(24)" [[208]RESS ANY KEY TO CONTINUE][150]" 4035 POKE198,0:WAIT198,1:GETYN$:FORI=24TOSWSTEP-1:PRINTVT$(I)ES$:NEXT 4040 RETURN 5000 R$="":S$="":T$="":S=1 5010 FORI=1TOMA 5015 R$=R$+A$(I) 5020 FORX=1TOLEN(R$) 5030 IF MID$(R$,X,1)="*"THENS$=LEFT$(R$,X-1):T$=C$(S):R$=RIGHT$(R$,LEN(R$)-X-1) 5040 IF MID$(R$,X,1)="["THENR$=LEFT$(R$,X-1)+","+RIGHT$(R$,LEN(R$)-X-1) 5045 IF MID$(R$,X,1)="]"THENPRINTLEFT$(R$,X-1) 5050 IF T$<>""THENPRINTS$""T$"[146]";:T$="":S=S+1:GOTO5020 5060 NEXT X 5070 NEXT I 5080 RETURN 10000 REM INIT 10010 DIMW$(30),C$(100),A$(100),F(100) 10020 DIM D$(30),E$(30): REM DEFS & EXAMPLES 10025 Z=0:REMKB=49152:CL=49168:ZB=-16336 10030 FOR I = 1 TO 22 10040 READ W$(I),D$(I),E$(I):NEXT 10050 RETURN 11000 REM WORD TYPES & DEFS 11010 DATA"[206]OUN","A PERSON, PLACE OR THING","[205]AILMAN / [200]EAVEN / [211]CHOOL [194]US" 11020 DATA"[195]ONCRETE [206]OUN",A NOUN WITH PHYSICAL EXISTENCE 11025 DATA"[195]ATALOG / [204]AMB / [197]LEVATOR" 11030 DATA"[193]BSTRACT [206]OUN",A CONCEPT OR STATE OF MIND,"[210]EALITY / [208]EACE / [207]PINION" 11040 DATA"[208]LURAL [206]OUN","A GROUP OF PERSONS, PLACES OR THINGS" 11045 DATA"[205]ICE / [196]OORS / [208]IZZAS" 11050 DATA"[205]ATERIAL/[211]UBSTANCE",A QUANTITY OF SOMETHING 11055 DATA"[211]ULPHURIC [193]CID / [212]AR / [205]OLASSES" 11060 DATA"[193]DJECTIVE",DESCRIBES A PERSON OR A THING,"[195]LEVER / [199]REEN / [213]GLY" 11070 DATA"[193]DVERB",DESCRIBES HOW SOMETHING IS DONE. USUALLY ENDS IN -LY 11075 DATA"[209]UICKLY / [211]LOPPILY / [200]APPILY" 11080 DATA"[208]RESENT [212]ENSE [214]ERB ([201]...)",AN ACTION WORD,"[197]AT / [213]NWRAP / [212]HINK" 11090 DATA"[208]RESENT [212]ENSE [214]ERB ([200]E/[211]HE/[201]T...)",AN ACTION WORD 11095 DATA"[197]ATS / [213]NWRAPS / [212]HINKS" 11100 DATA"[208]AST [212]ENSE [214]ERB" 11105 DATAAN ACTION THAT ALREADY HAPPENED. OFTEN ENDS IN -ED 11107 DATA"[193]TE / [213]NWRAPPED / [212]HOUGHT" 11110 DATA"-ING [214]ERB",AN ACTION WORD IN -ING FORM 11115 DATA"[212]HINKING / [197]ATING / [213]NWRAPPING" 11120 DATA"[204]OCATION",ANY PLACE NAME,"[194]OSTON / [202]UPITER / [212]HE [194]ASEMENT" 11130 DATA"[206]UMBER",A # EITHER SPELLED OUT OR IN NUMERALS 11135 DATA"147 / [198]OUR [205]ILLION / [211]IX AND A [200]ALF" 11140 DATA"[195]OLOR",THE NAME OF ANY COLOR OR HUE,"[194]LUE / [196]ULL [199]RAY / [207]FF-[215]HITE" 11150 DATA"[193]NIMAL",THE NAME OF ANY LIVING THING,"[200]ORSE / [212]ERMITE / [194]ALD [197]AGLE" 11160 DATA"[197]XCLAMATION" 11165 DATA"[211]OMETHING YOU MIGHT SAY WHEN SURPRISED OR EXCITED" 11168 DATA"[215]OW / [207]OPS / [200]OW [193]BOUT [212]HAT" 11170 DATA"[211]ILLY [211]OUNDING [215]ORD",ANY SILLY SOUNDS 11175 DATA"[194]OOGA [194]OOGA / [193]RF / [195]LICKZIPURF" 11180 DATA"[204]IQUID",ANY FLUID,"[201]CED [212]EA / [199]ASOLINE / [205]ILK" 11190 DATA"[198]OOD",ANYTHING THAT CAN BE CONSIDERED EDIBLE 11195 DATAANCHOVIES / BREAD / TUNA SALAD 11200 DATA"[206]AME","[193]NY PERSON'S NAME--[210]EAL OR [198]ICTIONAL" 11205 DATA"[194]UTCH / [202]OHNNY [195]ARSON / [197]DNA" 11210 DATA"[205]ALE'S [206]AME","[193] [205]AN'S [206]AME -- [210]EAL OR [198]ICTIONAL" 11215 DATA"[198]RED / [195]HARLIE [195]HAPLIN / [210]AMBO" 11220 DATA"[198]EMALE'S [206]AME","[193] [215]OMAN'S [206]AME -- [210]EAL OR [198]ICTIONAL" 11225 DATA"[205]ISS [193]MERICA / [210]EBECCA / [212]INA [212]URNER" 12000 REM INSTRUCTIONS 12010 REM 12020 PRINTVT$(7);:PRINTHT$(1); 12030 PRINT "[150] [215]HAT WE HAVE HERE ARE FIVE STORIES": PRINT 12035 PRINT "WITH SOME OF THE WORDS MISSING. [215]ITHOUT": PRINT 12036 PRINT "TELLING YOU ANYTHING ABOUT EACH STORY,": PRINT 12037 PRINT "[201]'LL ASK YOU TO SUPPLY THE [206]AMES," 12040 PRINT:PRINT"[208]LACES, [193]DJECTIVES, [214]ERBS AND OTHER":PRINT 12043 PRINT "PARTS OF SPEECH THAT ARE MISSING. [196]ON'T": PRINT 12045 PRINT "[215]ORRY, [212]HERE ARE ON-SCREEN DEFINITIONS.":PRINTVT$(23);:GOSUB4000 12048 PRINTVT$(7);:PRINTHT$(1); 12050 PRINT" [217]OU'LL BE FILLING IN THE BLANKS IN": PRINT 12055 PRINT "A MIXED-UP ORDER, SO DON'T WORRY IF": PRINT 12056 PRINT "THE WORDS GO TOGETHER OR NOT. [201]N FACT," 12060 PRINT:PRINT"IT'S OFTEN BETTER IF THEY DON'T.":PRINTVT$(23); 12065 GOSUB 4000:PRINTVT$(7);:PRINTHT$(1); 12070 PRINT" [215]HEN YOU'VE FILLED IN ALL THE BLANKS,":PRINT 12072 PRINT "[201]'LL SHOW YOU OUR STORY. [201]T COULD BE": PRINT 12074 PRINT "FUNNY OR STRANGE OR SILLY OR THE NEXT" 12080 PRINT:PRINT"[199]REAT [193]MERICAN [206]OVEL -- YOU NEVER KNOW":PRINT 12085 PRINT "HOW IT'LL TURN OUT." 12090 PRINTVT$(23);:PRINTHT$(1);:PRINT"[154][210]E-READ THE INSTRUCTIONS? ([159][217][154]/[159][206][154]) "; 12095 POKE198,0:WAIT198,1:GETYN$ 12096 IF YN$="Y"ORYN$="N"THENFORI=5TO24:PRINTVT$(I)ES$"":NEXT 12098 IFYN$="Y"THEN12000 12100 IFYN$<>"N"THEN12090 12105 REM 12110 RETURN 12500 PRINTHT$(9)"[154] [199] [213] [193] [206] [207] [218] [193] [208] " 12504 PRINTHT$(9)" [146] [159][215]ATCH YOUR LANGUAGE [154] " 12510 PRINTHT$(9)" [211] [207] [198] [212] [215] [193] [210] [197] ":RETURN 15000 REM CROQUET EXIT 15010 PRINT"[147]"VT$(4)HT$(6); 15013 PRINT"[215]E'RE SOOOO CONFUSED HERE AT" 15015 PRINTVT$(16)HT$(8)"[205]AKING A MESS SINCE 1982" 15025 PRINTVT$(22)HT$(10)"[208]RESS ANY KEY TO [209][213][201][212]." 15030 A$="[199]UANOZAP*[211]OFTWARE*":S$=" ":B$ =A$ 15040 B$=A$ 15050 PRINTVT$(10)HT$(12)A$:M$=RIGHT$(B$,1) 15060 B$=M$+LEFT$(B$,17) 15070 FORI=2TO11:PRINTVT$(10)HT$(I)S$M$;:NEXT 15080 PRINTVT$(10)HT$(12)B$:M$=RIGHT$(B$,1) 15090 FORI=30TO39:PRINTVT$(10)HT$(I)S$M$;:NEXT 15095 PRINTVT$(10)HT$(40)S$ 15100 GETKB$:IFKB$<>""THEN15120 15110 GOTO 15060 15120 PRINTVT$(10)HT$(12)LEFT$(A$,17)" " 15130 PRINT"[147]" 15135 OPEN15,8,15,"R0:HELLO CONNECT=HELLO CONNECT":INPUT#15,ER:CLOSE15 15136 IFER<>63THENEND 15140 LOAD"HELLO CONNECT",8 60500 FORZ8=1TONC 60502 GETA$:IFA$=""THEN60502 60503 IFA$="[147]"ORA$=""ORA$="[148]"ORA$="[145]"ORA$="[157]"ORA$=""ORA$=""THEN60502 60504 IFA$=CHR$(13)ORA$=CHR$(141)THENPRINT"[157] ":GOTO60544 60506 IFA$=" "ORA$="[160]"THEN60540 60508 IFA$=CHR$(20)ANDZ8=1THEN60502 60510 IFA$=CHR$(20)THENZ8=Z8-1:PRINT"[157][157] [157][157]";BK$;:GOTO60502 60520 IFA$>"/"ANDA$<":"AND(MOAND2)THEN60540:NUMBERS 60522 IFA$>" "ANDA$<"*"AND(MOAND4)THEN60540:SHIFT NUMBERS 60524 IFA$>"[192]"ANDA$<"[219]"AND(MOAND8)THEN60540:UPPERCASE CHARACTERS 60526 IFA$>"@"ANDA$<"["AND(MOAND16)THEN60540:LOWERCASE CHARACTERS 60528 IFA$>CHR$(160)ANDA$=CHR$(0)ANDA$<""AND(MOAND64)THEN60540:CTRL CHARACTERS 60532 IFA$>")"ANDA$<"0"AND(MOAND128)THEN60540:MISC CHARACTERS GROUP 1 60534 IFA$>"9"ANDA$<"A"AND(MOAND128)THEN60540:MISC CHARACTERS GROUP 2 60536 IFA$>"Z"ANDA$<"[129]"AND(MOAND128)THEN60540:MISC CHARACTERS GROUP 3 60538 GOTO60502 60540 PRINT"[157]";A$;:POKE212,.:PRINTBK$; 60542 G$(Z8)=A$:NEXT 60544 PRINT"[157][146] " 60546 A$="":FORA=1TOZ8-1:A$=A$+G$(A):NEXT:IFZ8=1THENA$="" 60548 RETURN